package io.terminus.spzx.manager.mapper;

import io.terminus.spzx.model.dto.product.ProductDto;
import io.terminus.spzx.model.entity.product.Product;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @Author lichunlong lcl253137@alibaba-inc.com
 * @Desc 商品管理Mybatis Mapper
 * @Date 2024-10-11
 */
@Mapper
public interface ProductMapper {

    /**
     * 分页查询商品列表
     *
     * @param productDto 查询条件
     * @return 商品列表
     */
    List<Product> findByPage(ProductDto productDto);

    /**
     * 查询商品详情
     *
     * @param id 商品ID
     * @return 商品详情
     */
    Product selectById(Long id);

    /**
     * 保存商品
     *
     * @param product 商品
     */
    void save(Product product);

    /**
     * 修改商品
     *
     * @param product 商品
     */
    void updateById(Product product);

    /**
     * 删除商品
     *
     * @param id 商品ID
     */
    void deleteById(Long id);
}
